<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>13_forEach</title>
</head>

<body>
  <script>
    /**
     * forEach()
     * 语法: 数组.forEach( function(item, index, arr) {})
     *    => 函数可以接受三个参数
     *    => 第一个参数: 表示数组内的每一项
     *    => 第二个参数: 表示数组内的每一项的索引
     *    => 第三个参数: 表示原始数组
     * 作用: 用来遍历数组
     * 返回值: 没有返回值 undefined
    */

    var arr = [100, 200, 300, 400];
    
    var result = arr.forEach( function a(item, index, arr) {
      // 这个函数 a 会根据数组内有多少成员执行多少回
      console.log('我执行了');
      console.log('每一项:', item, '索引:', index, '原始数组:', arr );
    });

    console.log('返回值:', result);


    /**
     * forEach 的原理
     * 会根据数组内的成员数量分别调用 a 函数
     *    => 第一次调用 a(100, 0, [100, 200, 300, 400])
     *    => 第二次调用 a(200, 1, [100, 200, 300, 400])
     *    => 第三次调用 a(300, 2, [100, 200, 300, 400])
    */
  </script>
</body>

</html>
